package cn.itcast.search.Service;

import cn.itcast.hmall.dto.common.PageDTO;
import cn.itcast.hmall.dto.common.ResultDTO;
import cn.itcast.hmall.dto.search.SearchReqDTO;
import cn.itcast.hmall.pojo.item.ItemDoc;
import java.util.List;
import java.util.Map;


public interface SearchService {
    /**
     * 全量数据导入接口
     * @return
     */
    ResultDTO importItemData();

    /**
     * 搜索栏自动补全接口
     * @param key
     * @return
     */
    List<String> getSuggestion(String key);

  /**
     * 过滤项聚合功能
     * @param searchReqDTO
     * @return
     */
   Map<String, List<String>> getFilters(SearchReqDTO searchReqDTO);

    /**
     * 实现基本搜索功能
     * @param searchReqDTO
     * @return
     */
    PageDTO<ItemDoc> search(SearchReqDTO searchReqDTO);

    /**
     * 数据同步 上下架
     * @param id
     */
    void up(Long id);

    void down(Long id);

}